import argparse
import os
import sys
from spider import XinfadiSpider
from analysis import VegetableAnalysis

def main():
    parser = argparse.ArgumentParser(description='新发地农产品价格爬取与分析工具')
    parser.add_argument('--crawl', action='store_true', help='爬取新发地价格数据')
    parser.add_argument('--analyze', action='store_true', help='分析已爬取的价格数据')
    parser.add_argument('--all', action='store_true', help='爬取并分析数据')
    parser.add_argument('--pages', type=int, default=1, help='爬取的页数，默认为1页')
    
    args = parser.parse_args()
    
    # 如果没有提供任何参数，显示帮助信息
    if not (args.crawl or args.analyze or args.all):
        parser.print_help()
        return
    
    spider = XinfadiSpider()
    analyzer = VegetableAnalysis()
    
    if args.crawl or args.all:
        if args.pages > 1:
            # 爬取多页数据
            data = spider.get_multiple_pages_data(args.pages)
            if data:
                spider.save_to_csv(data, 'vegetable_prices.csv')
                spider.analyze_vegetable_prices(data)
        else:
            # 爬取单页数据
            spider.run()
    
    if args.analyze or args.all:
        analyzer.run()

if __name__ == '__main__':
    main()